//设置登陆注册路由器
const express = require('express');
//引入users 的模型对象
const users = require('../models/users');
//创建路由器
const router = new express.Router();

//设置路由
//tset路由器
// router.get('/test',(req,res)=>{
//     console.log(111);
//     res.send('test成功！')
// })

//设置正则 检测用户名和密码是否符合规则
const user_name_reg = /^[A-Za-z0-9_]{3,16}$/;//任意字母数字
const password_reg = /^[A-Za-z0-9.]{3,20}$/;

//注册
router.post('/register',async(req,res)=>{
    console.log(req.body);
    //对象的结构赋值
    const {user_name,password} = req.body;
    //用户名和密码 符合规则
    if(user_name_reg.test(user_name) && password_reg.test(password)){
        //存到数据库中
        try{
             await users.create(req.body);
             res.send('注册成功！')
        }catch(e){
            console.log(e);
            res.send('网络延迟！');
        }
    }else{
        res.send('用户名或密码不符合规则，请重新设置！')
    }
})
//登录
router.post('/login',async(req,res)=>{
    //同名对象解构赋值
    const {user_name,password} = req.body;
    //看 输入的用户名和密码 是否符合规则
    if(user_name_reg.test(user_name) && password_reg.test(password)){
        //看 输入的用户名 在数据库中是否有
        try{
            const user = await users.findOne({user_name});
            if(user){
                //看密码是否正确
                if(password == user.password){
                    res.send('登录成功！')
                }else{
                    res.send('密码错误！')
                }
            }else{
                res.send('该用户不存在，请重新注册！')
            }
        }catch(e){
            console.log(e);
            res.send('网络延迟！')
        }
    }else{
        res.send('用户名或密码不符合规则！');
    }
})





//暴露出去
module.exports = router;
